Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- Venn Diagram



  Leaving comments in real life

As a programmer I like to write comments because I know that some future person (often me) is going to need to know something about my code that won't be immediately obvious from reading it. Here's a recent example from my homebrew display's code:// protocol_init: Set up a newly powered-on string of lights.  The lights are arranged// in an array wired diagonally starting from the bottom left.  For ease of programming// it's better if they are given numbers which correspond to coor...

   Comment,Programming,Style,Format,Coding standard     2011-11-15 11:42:19

  Is Java Set ordered or not?

“Is Java Set ordered or not? ” is the most popular question asked when you interview for a Java Developer position. Many fail to answer it, and I have to admit I was one of the many. I have known the answer is “Yes and No” for a long time. No. HashSet is not ordered. Yes.TreeSet is ordered. If the interviewer continues with some follow up questions, I’m not confident that I know the answer then. Why is TreeSet ordered? Are there any other ordered S...

   ORDER,SORTEDSET,HASHSET,JAVA     2021-02-11 06:55:00

  Why is single threaded Redis so fast

Redis is a high-performance, in-memory key-value database. According to official test reports, it can support around 100,000 QPS (queries per second) on a single machine. However, Redis uses a single-threaded architecture in its design. Why does Redis still have such high performance with a single-threaded design? Wouldn't it be better to use multiple threads for concurrent request processing? In this article, let's explore why Redis has a single-threaded architecture and still maintains its spe...

   REDIS,SINGLE-THREADED,MULTI-THREADING     2023-02-28 05:16:22

  Decision Trees in C#

Decision trees are simple predictive models which map input attributes to a target value using simple conditional rules. Trees are commonly used in problems whose solutions must be readily understandable or explainable by humans, such as in computer-aided diagnostics and credit analysis. Download source code Download sample applications Download the full Accord.NET Framework Introduction Decision Trees give a direct and intuitive way for obtaining the classification of a new instance f...

   C#,Decision tree     2012-03-23 10:00:56

  What is Hystrix and How does Hystrix work

Background In distributed systems, there is one effect where the unavailability of one service or some services will lead to the service unavailability of the whole system, this is called service avalanche effect. A common way to prevent service avalanche is do manual service fallback, in fact Hystrix also provides another option beside this. Definition of Service Avalanche Effect Service avalanche effect is a kind of effect where the service provider fails to provide service which causes t...

   AVALANCHE EFFECT,HYSTRIX,DISTRIBUTED SYSTEM     2019-02-04 06:00:38

  HTML5 Drag and Drop Upload and File API Tutorial

Update #3: Using the techniques outlined in this article I have rolled out and initial release of imgscalr.com.Feel free to download the JS source (it is heavily commented) and take a look at how it was rolled out. Unfortunately the required File API support is only in Chrome and Firefox currently, Safari gets it in version 6, Opera possibly in version 11 and possibly IE 10 (9 has no support).IntroductionOver the last day I’ve been trying to learn how to use the new HTML5 D...

   HTML5,Drag and drop,DnD,File API,Tutorial,Coding     2011-10-29 13:47:14

  Python object creation sequence

[The Python version described in this article is 3.x] This article aims to explore the process of creating new objects in Python. As I explained in a previous article, object creation is just a special case of calling a callable. Consider this Python code: class Joe: pass j = Joe() What happens when j = Joe() is executed? Python sees it as a call to the callable Joe, and routes it to the internal function PyObject_Call, with Joe passed as the first argument. PyObject_Call looks at the ty...

   Python,Object creation     2012-04-16 15:03:55

  How Computers Boot Up

The previous post described motherboards and the memory map in Intel computers to set the scene for the initial phases of boot. Booting is an involved, hacky, multi-stage affair – fun stuff. Here’s an outline of the process: An outline of the boot sequence Things start rolling when you press the power button on the computer (no! do tell!). Once the motherboard is powered up it initializes its own firmware – the chipset and other tidbits – and tries to ...

   Computer,Boot-up,Rationale     2012-04-11 13:43:02

  A re-introduction to JavaScript

Introduction Why a re-introduction? Because JavaScript has a reasonable claim to being the world's most misunderstood programming language. While often derided as a toy, beneath its deceptive simplicity lie some powerful language features. 2005 saw the launch of a number of high-profile JavaScript applications, showing that deeper knowledge of this technology is an important skill for any web developer. It's useful to start with an idea of the language's history. JavaScript was created in 1...

   JavaScript,Types,Array,Re-introduction,OOP     2012-02-09 05:38:08

  Why (offset, limit) is slow in database select?

Starting from a problem Five years ago when I was working at Tencent, I found that MySQL request speed was very slow in the pagination scenario. With only 100,000 data, a select query on a single machine took about 2-3 seconds. I asked my mentor why, and he asked in return, "In an indexing scenario, what is the time complexity to get the nth largest number in MySQL?" The pursuit of the answer Confirming the scenario Assuming there is an index on the "status" column, a query like "select * from t...

   SLOW,LIMIT,OFFSET,MYSQL     2023-03-12 05:21:02